Android Partitions
Tools
- Adebar (Android Device Backup and Recovery, from here)
- Checks
/proc/dumchar_info
(gives most details) - Checks
/proc/mtd
(second best solution, doesn't exist in most new devices) - Checks
/proc/emmc
(third best solution, should have about as much as the previous ones) - Checks
/dev/block/platform/\*/by-name
(this is cross checked with the next option) - Checks
/proc/partitions
, cross checked with/proc/mounts
(gives us at least the list of mounted partitions)
- Checks
- KPARTX
- xmount
- DiskInfo
To Refer
- https://android.stackexchange.com/questions/92565/how-to-list-all-major-partitions-with-their-labels
- https://android.stackexchange.com/questions/5232/how-can-i-view-the-android-internal-partition-table
- https://android.stackexchange.com/questions/24119/command-to-list-partitions
Notes
Sources
Notes
From "MTK Platform Partition Meaning", from GitHub Gists
I first copy-pasted it verbatim, and made some minor modifications:
- Capitalized partition names
- Corrected grammar in some instances
- Codified small lettered codenames
-
And I added numbers (not necessarily in the right order, just to count the number of partitions)
- This list has 41 partitions :v
-
- PRELOADER
- Pre-loader image
- Handles all the download and secure boot procedures
-
- DSP_BL
- DSP Boot Loader
- MBR, EBR1, EBR2
ext4
file system partition index table
-
- PMT
- Partition Management Table
-
- NVRAM
- Non-Volatile RAM
- Stores the hardware related information, such as the Calibration Data, MAC Address, IMEI ID, etc.
-
- SECCFG, SECSTATIC
- Reserved for the security platform used
-
- PROTECT1 / PROTECT_F
- Store SIM LOCK
-
- PROTECT2 / PROTECT_S
- Backup SIM LOCK
-
- PGPT
- Primary GUID Partition Table, compared with MBR
-
- SGPT
- Secondary (Backup) GUID Partition Table
- 10-11. OEMKEYSTORE, KEYSTORE
- Image Authentication Key for Verified Boot (VB), not used yet
-
- TEE2
- Backup of TEE1
-
- U-BOOT / LK
- Second loader image
- U-BOOT is a generic bootloader for embedded devices
- LK stands for "Little Kernel"
- Handles most hardware initializations and brings up the full Linux kernel
-
- BOOT IMAGE
- Linux kernel image and its root file system
-
- RECOVERY
- Recovery kernel image and its root file system
- Handles all the system recovery and firmware update functionalities
-
- SEC_RO or SECRO
- Reserved for the security platform used
-
- MISC / FOTA (in older devices)
- Used for the recovery procedure (e.g. in case of power loss)
-
- LOGO
- Boot-up logo image
-
- EXPDB
- Stores the Exceptions Database
-
- SYSTEM
- Android system image
-
- CACHE
- Stores Android internal cache data or web cache data
-
- USERDATA
- Used for Android system to store user data such as user contacts, settings, installed applications … etc
-
- FAT / INTSD
- Internal SDCard on eMMC
-
- OTP
- OTP (One Time Program) area on eMMC
-
- FLASHINFO
- Flash tool download information
-
- BMTPOOL
- Handles Bad Block Management (nandflash used and reserved on eMMC)
-
- PARA
- Saves the parameters required for recovery
-
- FRP
- Factory Reset Protection, used for Anti-Theft
-
- NVDATA
- Stores data in
data/nvram/
-
- PROINFO
- An NVRAM partition, stores one
struct
by default, can be added md1img
,md1dsp
,md1arm7
,md3img
- For Android M, the MD image has been changed into an MD standalone partition, all modem images will be loaded from the partitions:
md1img
,md1dsp
,md1arm7
andmd3img
- 32-33. SCP1, SCP2
- System Control Processor, used for recovery fail
- 34-35. LK1, LK2
- Used for the updating LK in case of an OTA update fail
-
- PERSIST
- Stores data which will be stable for a long time
-
- METADATA
- Stores the master key for data encryption
-
- NVCFG
- NVRAM config, controlled by
MTK_NVCONFIG_PARTITION_SUPPORT
, not used yet
-
- CUST / CUSTOM / PRELOAD
- Customization partition, controlled by
MTK_CIP_SUPPORT
-
- EFUSE
- Download baseband chip's
efuse
-
- PPL
- Privacy Protection Lock, used for Anti-Theft